home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d13
/
ptv2n1.arc
/
PATCH.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1991-03-26
|
1KB
|
23 lines
function DriveValid(Drive: Char): Boolean; assembler;
asm
mov ah, 19h { Select DOS function 19h }
int 21h { Call DOS for current disk drive }
mov bl, al { Save drive code in bl }
mov al, Drive { Assign requested drive to al }
sub al, 'A' { Adjust so A:=0, B:=1, etc. }
mov dl, al { Save adjusted result in dl }
mov ah, 0eh { Select DOS function 0eh }
int 21h { Call DOS to set default drive }
mov ah, 19h { Select DOS function 19h }
int 21h { Get current drive again }
mov cx, 0 { Preset result to False }
cmp al, dl { Check if drives match }
jne @@1 { Jump if not--drive not valid }
mov cx, 1 { Preset result to True }
@@1:
mov dl, bl { Restore original default drive }
mov ah, 0eh { Select DOS function 0eh }
int 21h { Call DOS to set default drive }
xchg ax, cx { Return function result in ax }
end;